﻿using SD.Infrastructure.DTOBase;
using SlamDunk.MES.IAppService.DTOs.Outputs.ResourceContext;
using SlamDunk.MES.IAppService.DTOs.Outputs.StockContext;
using System;
using System.Runtime.Serialization;

namespace SlamDunk.MES.IAppService.DTOs.Outputs.PlanContext
{
    /// <summary>
    /// 作业物料需求数据传输对象
    /// </summary>
    [DataContract]
    public class ExecutionMaterialAskInfo : BaseDTO
    {
        #region 物料定义Id —— Guid MaterialId
        /// <summary>
        /// 物料定义Id
        /// </summary>
        [DataMember]
        public Guid MaterialId { get; set; }
        #endregion

        #region 物料批次Id —— Guid? MaterialLotId
        /// <summary>
        /// 物料批次Id
        /// </summary>
        [DataMember]
        public Guid? MaterialLotId { get; set; }
        #endregion

        #region 数量 —— decimal Quantity
        /// <summary>
        /// 数量
        /// </summary>
        [DataMember]
        public decimal Quantity { get; set; }
        #endregion

        #region 排序 —— int Sort
        /// <summary>
        /// 排序
        /// </summary>
        [DataMember]
        public int Sort { get; set; }
        #endregion

        #region 描述 —— string Description
        /// <summary>
        /// 描述
        /// </summary>
        [DataMember]
        public string Description { get; set; }
        #endregion


        //导航属性

        #region 导航属性 - 物料定义 —— MaterialInfo MaterialInfo
        /// <summary>
        /// 导航属性 - 物料定义
        /// </summary>
        [DataMember]
        public MaterialInfo MaterialInfo { get; set; }
        #endregion

        #region 导航属性 - 物料批次 —— MaterialLotInfo MaterialLotInfo
        /// <summary>
        /// 导航属性 - 物料批次
        /// </summary>
        [DataMember]
        public MaterialLotInfo MaterialLotInfo { get; set; }
        #endregion
    }
}
